// Name: HTMLEditor.ExecCommandEmulation.debug.js
// Assembly: AjaxControlToolkit
// Version: 3.5.7.1213
// FileVersion: 3.5.7.1213
Sys.Extended.UI.HTMLEditor.MSIE_list = function(listTg) {
var paragraphs = this.get_paragraphs();
var pars = this.getSelectionAfterOperation(paragraphs);
var currentParent = null;
var collectedParagraphs = [];
var editor = this;
var commonList = null;
var commonListItems = [];
var listTag = listTg.toUpperCase();
var needJoiner = false;
function operateList() {
if(commonList != null) {
var newList;
newList = commonList.cloneNode(false);
commonList.parentNode.insertBefore(newList,commonList);
while(commonList.firstChild != commonListItems[0]) newList.appendChild(commonList.firstChild);
if(newList.firstChild==null) newList.parentNode.removeChild(newList);
if(commonList.tagName.toUpperCase() == listTag) {
for(var i=0; i < commonListItems.length; i++) {
var element = commonListItems[i];
if(element.nodeType==1 && element.tagName && element.tagName.toUpperCase()=="LI") {
var good = false;
commonList.parentNode.insertBefore(element,commonList);
if(element.style.textAlign=="") element.style.textAlign = commonList.style.textAlign;
if(commonList.childNodes.length==0 && i == commonListItems.length-1) {
commonList.parentNode.removeChild(commonList);
commonList = null;
}
if(element.style.textAlign=="" || (element.style.textAlign.toLowerCase()=="left" && !editor.rtlState()) || (element.style.textAlign.toLowerCase()=="right" && editor.rtlState())) {
good = editor.tryUnWrap(element,pars);
if(good) needJoiner=true;
}
if(!good) {
var newP = editor._doc.createElement(editor.dfltBlockElement);
var attrs = element.attributes;
for (var ik = 0; ik < attrs.length; ++ik) {
var a = attrs.item(ik);
if (!a.specified) continue;
if (a.name.toLowerCase()=="style") continue;
newP.setAttribute(a.name,a.value);
}
newP.style.cssText = element.style.cssText;
if(newP.tagName.toUpperCase()=="P") newP.style.margin = "0px";
while(element.firstChild) newP.appendChild(element.firstChild);
element.parentNode.insertBefore(newP,element);
element.parentNode.removeChild(element);
}
}
else
commonList.parentNode.insertBefore(element,commonList);
}
} else {
var newList = editor._doc.createElement(listTag);
var attrs = commonList.attributes;
for (var ik = 0; ik < attrs.length; ++ik) {
var a = attrs.item(ik);
if (!a.specified) continue;
if (a.name.toLowerCase()=="style") continue;
newList.setAttribute(a.name,a.value);
}
newList.style.cssText = commonList.style.cssText;
commonList.parentNode.insertBefore(newList,commonList);
for(var i=0; i < commonListItems.length; i++) {
var element = commonListItems[i];
newList.appendChild(element);
}
}
if(commonList != null) {
newList = commonList.cloneNode(false);
commonList.parentNode.insertBefore(newList,commonList);
while(commonList.firstChild) newList.appendChild(commonList.firstChild);
if(newList.firstChild==null) newList.parentNode.removeChild(newList);
commonList.parentNode.removeChild(commonList);
}
}
commonList = null;
commonListItems = [];
}
function operateCollectedParagraphs() {
var firstChild = currentParent.firstChild;
var lastChild = currentParent.lastChild;
var parTagName = currentParent.tagName.toUpperCase();
if( // if all paragraps(only) are in one parent already
!Sys.Extended.UI.HTMLEditor.isInlineElement(currentParent) &&
collectedParagraphs[0][0] == firstChild &&
collectedParagraphs[collectedParagraphs.length-1][collectedParagraphs[collectedParagraphs.length-1].length-1] == lastChild &&
(parTagName=="OL" || parTagName=="UL" || parTagName=="DL" || parTagName=="LI" ||
((parTagName=="P" || parTagName=="DIV" || Sys.Extended.UI.HTMLEditor.isHeader(currentParent)) && parTagName=="LI")
)
) {
operateList();
commonListItems = [];
if (parTagName == "LI") {
commonList = currentParent.parentNode;
commonListItems.push(currentParent);
}
else if(parTagName=="P" || parTagName=="DIV" || Sys.Extended.UI.HTMLEditor.isHeader(currentParent)) {
commonList = currentParent.parentNode.parentNode;
commonListItems.push(currentParent.parentNode);
} else {
commonList = currentParent;
for(var i=0; i < collectedParagraphs.length; i++) {
var paragraph = collectedParagraphs[i];
for(var j=0; j < paragraph.length; j++) {
commonListItems.push(paragraph[j]);
}
}
}
operateList();
} else {
if(parTagName=="LI" && (collectedParagraphs.length < paragraphs.length)) {
if(commonList != currentParent.parentNode) {
operateList();
commonList = currentParent.parentNode;
commonListItems = [];
}
commonListItems.push(currentParent);
} else if(parTagName=="OL" || parTagName=="UL" || parTagName=="DL") {
operateList();
commonList = currentParent;
commonListItems = [];
for(var i=0; i < collectedParagraphs.length; i++) {
var paragraph = collectedParagraphs[i];
for(var j=0; j < paragraph.length; j++) {
commonListItems.push(paragraph[j]);
}
}
operateList();
} else {
var li = null;
var list = null;
function completeLi() {
if(li != null)
if(li.childNodes==1 && (li.firstChild==pars[0] || li.firstChild==pars[1])) {
li.parentNode.insertBefore(li.firstChild, li);
li.parentNode.removeChild(li);
}
li = null;
}
if(commonList != null) {
operateList();
}
var colTagName = "";
if (collectedParagraphs.length==1 && collectedParagraphs[0].length==1 && collectedParagraphs[0][0].nodeType==1 && collectedParagraphs[0][0].tagName) {
colTagName = collectedParagraphs[0][0].tagName.toUpperCase();
}
if (colTagName=="OL" || colTagName=="UL" || colTagName=="DL") {
var element = collectedParagraphs[0][0];
commonList = element;
commonListItems = [];
for(var i=0; i < element.childNodes.length; i++) {
var el = element.childNodes.item(i);
commonListItems.push(el);
}
operateList();
} else {
for(var i=0; i < collectedParagraphs.length; i++) {
var paragraph = collectedParagraphs[i];
for(var j=0; j < paragraph.length; j++) {
var element = paragraph[j];
var elTagName = (element.tagName)?element.tagName.toUpperCase():"";
if(list == null) {
list = editor._doc.createElement(listTag);
element.parentNode.insertBefore(list,element);
}
if(!Sys.Extended.UI.HTMLEditor.isInlineElement(element) && elTagName != "BR") {
if(li && li.firstChild) completeLi();
if(li == null) {
li = editor._doc.createElement("LI");
list.appendChild(li);
}
li.appendChild(element);
completeLi();
} else {
if (li == null) {
li = editor._doc.createElement("LI");
list.appendChild(li);
}
var actualLength = (paragraph[paragraph.length-1]==pars[1])?paragraph.length-1:paragraph.length;
var actualStart = (paragraph[0]==pars[0])?1:0;
if(elTagName == "BR" && j == actualLength-1 && j==actualStart) {
if(Sys.Extended.UI.HTMLEditor.isIE) {
li.appendChild(editor._doc.createTextNode(String.fromCharCode(160)));
element.parentNode.removeChild(element);
}
else
li.appendChild(element);
} else
if(elTagName == "BR" && j == actualLength-1 && j>actualStart)
element.parentNode.removeChild(element);
else
li.appendChild(element);
if(elTagName == "BR" && j == paragraph.length-1) {
completeLi();
li = null;
}
if(element == pars[1] && j == paragraph.length-1) {
completeLi();
li = null;
}
}
}
if(li && li.firstChild) completeLi();
}
}
if(list != null) {
var aligns = [];
for(var j=0; j < list.childNodes.length; j++) aligns.push(list.childNodes.item(j).style.textAlign);
var jj=1;
for(; jj < aligns.length; jj++)
if(aligns[jj-1] != aligns[jj]) break;
if(jj==aligns.length) {
var align = ((aligns[0]=="left" && !editor.rtlState()) || (aligns[0]=="right" && editor.rtlState()))?"":aligns[0];
for(var j=0; j < list.childNodes.length; j++) list.childNodes.item(j).style.textAlign = "";
list.style.textAlign = align;
}
}
if(list != null)
if(list.parentNode.tagName.toUpperCase() == "P" && list.parentNode.childNodes.length == 1) {
var pp = list.parentNode;
var clone = pp.cloneNode(false);
pp.parentNode.insertBefore(list,pp);
pp.parentNode.removeChild(pp);
if(list.childNodes.length==1) {
var item = list.firstChild;
while(item.firstChild) clone.appendChild(item.firstChild);
item.appendChild(clone);
} else
delete clone;
}
}
}
}
for(var i=0; i < paragraphs.length; i++) {
var paragraph = paragraphs[i];
if(paragraph.length > 0) {
if(paragraph[0].parentNode != currentParent) { // start new collection of paragraps
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
collectedParagraphs = [];
currentParent = paragraph[0].parentNode;
}
collectedParagraphs.push(paragraph);
}
}
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
if(commonList != null) {
operateList();
}
this.setSelectionAfterOperation(pars, needJoiner);
};
Sys.Extended.UI.HTMLEditor.MSIE_justify = function(textAlign, addParameter, addParameter1) {
var paragraphs = this.get_paragraphs();
var pars = this.getSelectionAfterOperation(paragraphs);
var currentParent = null;
var collectedParagraphs = [];
var editor = this;
var force = (typeof addParameter != "undefined" && addParameter )?true:false;
var remainP = (typeof addParameter1 == "string")?true:false;
var pTag = (typeof addParameter1 == "string")?addParameter1:"";
var needJoiner = false;
function completeDiv(div){
if(div != null)
if(div.childNodes==1 && (div.firstChild==pars[0] || div.firstChild==pars[1])) {
div.parentNode.insertBefore(div.firstChild, div);
div.parentNode.removeChild(div);
}
}
function operateCollectedParagraphs()
{
var firstChild = currentParent.firstChild;
var lastChild = currentParent.lastChild;
var single = false;
var curTagName;
if( currentParent.tagName && !Sys.Extended.UI.HTMLEditor.isInlineElement(currentParent) &&
collectedParagraphs[0][0] == firstChild &&
collectedParagraphs[collectedParagraphs.length-1][collectedParagraphs[collectedParagraphs.length-1].length-1] == lastChild
) {
curTagName = currentParent.tagName.toUpperCase();
if (curTagName != "TD" && curTagName != "TH" && curTagName != "FIELDSET" && curTagName != "LEGEND") {
single = true;
}
}
if(single) { // if all paragraps(them only) are in one parent already
var align = "";
if(currentParent.getAttribute("align") && currentParent.getAttribute("align").length > 0)
align = currentParent.getAttribute("align");
if(currentParent.align && currentParent.align.length > 0)
align = currentParent.align;
if(currentParent.style.textAlign && currentParent.style.textAlign.length > 0)
align = currentParent.style.textAlign;
currentParent.align = "";
currentParent.setAttribute("align", "");
currentParent.removeAttribute("align");
if((curTagName == "DIV" || curTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(currentParent)) && textAlign == "left" && force ) {
if(editor.tryUnWrap(currentParent,pars,force)) needJoiner=true;
} else {
if(textAlign != "remain") {
if(!(textAlign == "left" && force) || (curTagName=="LI" && currentParent.parentNode.style.textAlign.length>0 ))
currentParent.style.textAlign = textAlign;
else
currentParent.style.textAlign = "";
}
if(force) currentParent.style.margin = (curTagName=="P")?"0px":"";
if(curTagName=="LI") {
var list = currentParent.parentNode;
var aligns = [];
for(var jn=0; jn < list.childNodes.length; jn++)
if(list.childNodes.item(jn).nodeType==1)
aligns.push(list.childNodes.item(jn).style.textAlign);
var jj=1;
for(; jj < aligns.length; jj++)
if(aligns[jj-1] != aligns[jj]) break;
if(jj==aligns.length) {
var align = (aligns[0]=="left" && force)?"":aligns[0];
for(var j=0; j < list.childNodes.length; j++)
if(list.childNodes.item(j).nodeType==1) {
list.childNodes.item(j).style.textAlign = "";
if(force) list.childNodes.item(j).style.margin = (list.childNodes.item(j).tagName.toUpperCase()=="P")?"0px":"";
}
list.style.textAlign = align;
}
}
if((curTagName == "DIV" || curTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(currentParent))
&& remainP && pTag.toUpperCase() != curTagName) {
var nEl = editor._doc.createElement(pTag);
var attrs = currentParent.attributes;
for (var k = 0; k < attrs.length; ++k) {
var a = attrs.item(k);
if (!a.specified) continue;
if (a.name.toLowerCase()=="style") continue;
nEl.setAttribute(a.name,a.value);
}
nEl.style.cssText = currentParent.style.cssText;
while(currentParent.firstChild) nEl.appendChild(currentParent.firstChild);
currentParent.parentNode.insertBefore(nEl,currentParent);
currentParent.parentNode.removeChild(currentParent);
}
}
} else {
var div = null;
for(var i=0; i < collectedParagraphs.length ; i++) {
if(!remainP) div = null;
var paragraph = collectedParagraphs[i];
for(var j=0; j < paragraph.length; j++) {
var element = paragraph[j];
var elementTagName = (element.nodeType == 1 && element.tagName)?element.tagName.toUpperCase():null;
if( elementTagName != null &&
(elementTagName == "UL" || elementTagName == "OL" ||
elementTagName == "DL" || elementTagName == "DIV" || Sys.Extended.UI.HTMLEditor.isHeader(element) ||
elementTagName == "P" || elementTagName == "LI" || elementTagName == "TABLE"
)
) {
completeDiv(div);
div = null;
if(textAlign != "remain")
if(elementTagName!="TABLE" && !force)
element.style.textAlign = textAlign;
if(force) element.style.margin = (elementTagName=="P")?"0px":"";
if (elementTagName == "UL" || elementTagName == "OL" || elementTagName == "DL") {
for(var jk=0; jk < element.childNodes.length; jk++) {
var li = element.childNodes.item(jk);
if(li.nodeType==1) {
li.style.textAlign = "";
if(force) li.style.margin = (li.tagName.toUpperCase()=="P")?"0px":"";
for(var kk=0; kk < li.childNodes.length; kk++) {
var child = li.childNodes.item(kk);
if(child.nodeType==1 && child.tagName) {
var childTagName = child.tagName.toUpperCase();
if(force) child.style.margin = (childTagName=="P")?"0px":"";
if(childTagName == "DIV" || childTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(child)) {
if(editor.tryUnWrap(child,pars,force)) needJoiner=true;
}
}
}
}
}
if(textAlign == "left" && force) element.style.textAlign = "";
continue;
} else if(elementTagName=="LI") {
if(textAlign != "remain") {
if(!(textAlign == "left" && force) || element.parentNode.style.textAlign.length>0 )
element.style.textAlign = textAlign;
else
element.style.textAlign = "";
}
if(force) element.style.margin = (elementTagName=="P")?"0px":"";
var list = element.parentNode;
var aligns = [];
for(var jn=0; jn < list.childNodes.length; jn++)
if(list.childNodes.item(jn).nodeType==1)
aligns.push(list.childNodes.item(jn).style.textAlign);
var jj=1;
for(; jj < aligns.length; jj++)
if(aligns[jj-1] != aligns[jj]) break;
if(jj==aligns.length) {
var align = (aligns[0]=="left" && force)?"":aligns[0];
for(var j=0; j < list.childNodes.length; j++)
if(list.childNodes.item(j).nodeType==1) {
list.childNodes.item(j).style.textAlign = "";
if(force) list.childNodes.item(j).style.margin = (list.childNodes.item(j).tagName.toUpperCase()=="P")?"0px":"";
}
list.style.textAlign = align;
}
continue;
} else if(elementTagName=="TABLE") {
if(textAlign != "remain") {
if(!(textAlign == "left" && force) )
element.align = textAlign;
else {
element.align = "";
element.removeAttribute("align");
}
}
}
if((elementTagName == "DIV" || elementTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(element)) && textAlign == "left" && force) {
if(editor.tryUnWrap(element,pars,force)) needJoiner=true;
}
if((elementTagName == "DIV" || elementTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(element))
&& remainP && pTag.toUpperCase() != elementTagName) {
var nEl = editor._doc.createElement(pTag);
var attrs = element.attributes;
for (var k = 0; k < attrs.length; ++k) {
var a = attrs.item(k);
if (!a.specified) continue;
if (a.name.toLowerCase()=="style") continue;
nEl.setAttribute(a.name,a.value);
}
nEl.style.cssText = element.style.cssText;
while(element.firstChild) nEl.appendChild(element.firstChild);
element.parentNode.insertBefore(nEl,element);
element.parentNode.removeChild(element);
}
} else {
if(!(textAlign == "left" && force) || remainP) {
if(div == null) {
div = editor._doc.createElement(remainP?pTag:editor.dfltBlockElement);
if(editor.dfltBlockElement.toUpperCase()=="P" && !remainP) div.style.margin = "0px";
if(!remainP)div.style.textAlign = textAlign;
element.parentNode.insertBefore(div,element);
}
var actualLength = (paragraph[paragraph.length-1]==pars[1])?paragraph.length-1:paragraph.length;
var actualStart = (paragraph[0]==pars[0])?1:0;
if(elementTagName == "BR" && j == actualLength-1 && j==actualStart) {
if(Sys.Extended.UI.HTMLEditor.isIE) {
div.appendChild(editor._doc.createTextNode(String.fromCharCode(160)));
element.parentNode.removeChild(element);
} else
div.appendChild(element);
} else
if(elementTagName == "BR" && j == actualLength-1 && j>actualStart && (!remainP || (element.nextSibling != null && element.nextSibling==pars[1])))
element.parentNode.removeChild(element);
else
div.appendChild(element);
if(elementTagName == "BR" && j == paragraph.length-1 && !remainP) {
completeDiv(div);
div = null;
}
if(element == pars[1] && j == paragraph.length-1) {
completeDiv(div);
div = null;
}
}
}
}
}
}
}
for(var i=0; i < paragraphs.length; i++) {
var paragraph = paragraphs[i];
if(paragraph.length > 0) {
if(paragraph[0].parentNode != currentParent) { // start new collection of paragraps
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
collectedParagraphs = [];
currentParent = paragraph[0].parentNode;
}
collectedParagraphs.push(paragraph);
}
}
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
this.setSelectionAfterOperation(pars, needJoiner);
}
Sys.Extended.UI.HTMLEditor.MSIE_indent = function(increase) {
var paragraphs = this.get_paragraphs();
var pars = this.getSelectionAfterOperation(paragraphs);
var currentParent = null;
var collectedParagraphs = [];
var editor = this;
var needJoiner = false;
function getMargin(el) {
if(el.nodeType==1) {
var cssEl = (!editor.rtlState())?el.style.marginLeft:el.style.marginRight;
if(cssEl.length > 0) return parseInt(cssEl);
}
return 0;
}
function setMargin(el,value) {
if(el.nodeType==1) {
if(el.tagName.toUpperCase()=="P" && value=="") value="0px";
if(!editor.rtlState())
el.style.marginLeft = value;
else
el.style.marginRight= value;
}
}
function changeMargin(el) {
if(increase)
setMargin(el,(getMargin(el)+40)+"px");
else {
if(el.tagName.toUpperCase()=="P") {
if(getMargin(el) >= 40)
setMargin(el,(getMargin(el)-40)+"px");
else
setMargin(el,"0px");
}
else {
if(getMargin(el) > 40)
setMargin(el,(getMargin(el)-40)+"px");
else
setMargin(el,"");
}
}
}
function completeDiv(div) {
if(div != null)
if(div.childNodes==1 && (div.firstChild==pars[0] || div.firstChild==pars[1])) {
div.parentNode.insertBefore(div.firstChild, div);
div.parentNode.removeChild(div);
}
}
function operateCollectedParagraphs() {
var firstChild = currentParent.firstChild;
var lastChild = currentParent.lastChild;
if( // if all paragraps(them only) are in one parent already
currentParent.tagName && !Sys.Extended.UI.HTMLEditor.isInlineElement(currentParent) &&
collectedParagraphs[0][0] == firstChild &&
collectedParagraphs[collectedParagraphs.length-1][collectedParagraphs[collectedParagraphs.length-1].length-1] == lastChild
) {
var textAlign = "";
if(currentParent.getAttribute("align") && currentParent.getAttribute("align").length > 0)
textAlign = currentParent.getAttribute("align");
if(currentParent.align && currentParent.align.length > 0)
textAlign = currentParent.align;
if(currentParent.style.textAlign && currentParent.style.textAlign.length > 0)
textAlign = currentParent.style.textAlign;
if((textAlign.toLowerCase()=="left" && !editor.rtlState()) || (textAlign.toLowerCase()=="right" && editor.rtlState())) textAlign = "";
currentParent.align = "";
currentParent.setAttribute("align", "");
currentParent.removeAttribute("align");
changeMargin(currentParent);
var curTagName = currentParent.tagName.toUpperCase();
if((curTagName == "DIV" || curTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(currentParent)) && textAlign == "") {
if(editor.tryUnWrap(currentParent,pars)) needJoiner=true;
} else {
if(textAlign != "" || (curTagName=="LI" && currentParent.parentNode.style.textAlign.length>0 ))
currentParent.style.textAlign = textAlign;
else
currentParent.style.textAlign = "";
if(curTagName=="LI") {
var list = currentParent.parentNode;
var margins = [];
for(var jn=0; jn < list.childNodes.length; jn++)
margins.push(getMargin(list.childNodes.item(jn)));
var jj=1;
for(; jj < margins.length; jj++)
if(margins[jj-1] != margins[jj]) break;
if(jj==margins.length) {
var margin = (margins[0]==0)?"":(margins[0]+"px");
for(var j=0; j < list.childNodes.length; j++)
setMargin(list.childNodes.item(j),"");
setMargin(list, margin);
}
}
}
} else {
for(var i=0; i < collectedParagraphs.length ; i++) {
var div = null;
var paragraph = collectedParagraphs[i];
for(var j=0; j < paragraph.length; j++) {
var element = paragraph[j];
var elementTagName = (element.nodeType == 1 && element.tagName)?element.tagName.toUpperCase():null;
if (elementTagName != null &&
(elementTagName == "UL" || elementTagName == "OL" ||
elementTagName == "DL" || elementTagName == "DIV" || Sys.Extended.UI.HTMLEditor.isHeader(element) ||
elementTagName == "P" || elementTagName == "LI"
)
) {
completeDiv(div);
div = null;
changeMargin(element)
if(elementTagName == "UL" || elementTagName == "OL" || elementTagName == "DL") {
for(var jk=0; jk < element.childNodes.length; jk++) {
var li = element.childNodes.item(jk);
if(li.nodeType==1) {
setMargin(li, "");
for(var kk=0; kk < li.childNodes.length; kk++) {
var child = li.childNodes.item(kk);
var textAlign = (child.nodeType==1)?element.style.textAlign:"";
if((textAlign.toLowerCase()=="left" && !editor.rtlState()) || (textAlign.toLowerCase()=="right" && editor.rtlState())) textAlign = "";
if(child.nodeType==1) {
setMargin(child, "");
if(textAlign == "" && child.tagName) {
var childTagName = child.tagName.toUpperCase();
if (childTagName == "DIV" || childTagName == "P") {
if(editor.tryUnWrap(child,pars)) needJoiner=true;
}
}
}
}
}
}
continue;
} else if(elementTagName=="LI") {
var list = element.parentNode;
var margins = [];
for(var jn=0; jn < list.childNodes.length; jn++)
margins.push(getMargin(list.childNodes.item(jn)));
var jj=1;
for(; jj < margins.length; jj++)
if(margins[jj-1] != margins[jj]) break;
if(jj==margins.length) {
var margin = (margins[0]==0)?"":(margins[0]+"px");
for(var j=0; j < list.childNodes.length; j++)
setMargin(list.childNodes.item(j),"");
setMargin(list, margin);
}
continue;
}
var textAlign = element.style.textAlign;
if((textAlign.toLowerCase()=="left" && !editor.rtlState()) || (textAlign.toLowerCase()=="right" && editor.rtlState())) textAlign = "";
if((elementTagName == "DIV" || elementTagName == "P" || Sys.Extended.UI.HTMLEditor.isHeader(element)) && textAlign == "") {
if(editor.tryUnWrap(element,pars)) needJoiner=true;
}
} else {
if(increase) {
if(div == null) {
div = editor._doc.createElement(editor.dfltBlockElement);
if(editor.dfltBlockElement.toUpperCase()=="P") div.style.margin = "0px";
changeMargin(div);
element.parentNode.insertBefore(div,element);
}
var actualLength = (paragraph[paragraph.length-1]==pars[1])?paragraph.length-1:paragraph.length;
var actualStart = (paragraph[0]==pars[0])?1:0;
if(elementTagName == "BR" && j == actualLength-1 && j==actualStart) {
if(Sys.Extended.UI.HTMLEditor.isIE) {
div.appendChild(editor._doc.createTextNode(String.fromCharCode(160)));
element.parentNode.removeChild(element);
} else
div.appendChild(element);
} else if(elementTagName == "BR" && j == actualLength-1 && j>actualStart)
element.parentNode.removeChild(element);
else
div.appendChild(element);
if(elementTagName == "BR" && j == paragraph.length-1) {
completeDiv(div);
div = null;
}
if(element == pars[1] && j == paragraph.length-1) {
completeDiv(div);
div = null;
}
}
}
}
}
}
}
for(var i=0; i < paragraphs.length; i++) {
var paragraph = paragraphs[i];
if(paragraph.length > 0) {
if(paragraph[0].parentNode != currentParent) {
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
collectedParagraphs = [];
currentParent = paragraph[0].parentNode;
}
collectedParagraphs.push(paragraph);
}
}
if(collectedParagraphs.length > 0)
operateCollectedParagraphs();
this.setSelectionAfterOperation(pars,needJoiner);
};
Sys.Extended.UI.HTMLEditor.getSelectionAfterOperation = function(paragraphs) {
if(paragraphs.length==0) return[];
var lPoint = this._doc.createElement("SPAN");
var rPoint = this._doc.createElement("SPAN");
var initFirst = paragraphs[0][0];
var initLast = paragraphs[paragraphs.length-1][paragraphs[paragraphs.length-1].length-1];
if(initFirst==initLast && initLast.nodeType==1 && initLast.childNodes.length==0 && Sys.Extended.UI.HTMLEditor.canHaveChildren(initLast)) {
initLast.appendChild(lPoint);
initLast.appendChild(rPoint);
} else {
var firstest = Sys.Extended.UI.HTMLEditor._getReallyFirst(initFirst);
firstest.parentNode.insertBefore(lPoint,firstest);
if(firstest == initFirst) {
var sv = [];
sv.push(lPoint);
for(var i=0; i
";
this.insertHTML(str);
var lPoint = this._doc.getElementById(Sys.Extended.UI.HTMLEditor.smartClassName+"_ll");
var rPoint = this._doc.getElementById(Sys.Extended.UI.HTMLEditor.smartClassName+"_rr");
var sv = this._TcurrentFormat;
this._TcurrentFormat = null;
this.setSelectionAfterOperation([lPoint,rPoint], false);
this._TcurrentFormat = sv;
paragraphs = this.getPseudoP();
} catch(ex) {}
}
return paragraphs;
};
Sys.Extended.UI.HTMLEditor.getPseudoP = function() {
var result = [];
try {
var sel = this._getSelection();
var range = this._createRange(sel);
var rn=Sys.Extended.UI.HTMLEditor.smartClassName+"_right";
var ln=Sys.Extended.UI.HTMLEditor.smartClassName+"_left";
var r_left = null;
var r_right= null;
if(Sys.Extended.UI.HTMLEditor.isIE) {
if(sel.type.toLowerCase() != "control") {
r_left =range.duplicate();
r_right=range.duplicate();
r_left .setEndPoint("EndToStart",range);
r_right.setEndPoint("StartToEnd",range);
}
} else {
r_left =range.cloneRange();
r_right=range.cloneRange();
r_left .setEnd (r_left .startContainer,r_left .startOffset);
r_right.setStart(r_right.endContainer ,r_right.endOffset );
}
var lPoint = null;
var rPoint = null;
if(Sys.Extended.UI.HTMLEditor.isIE && sel.type.toLowerCase() == "control") {
var control =range.item(0);
var cspan;
cspan = this._doc.createElement("SPAN");
cspan.id = ln;
control.parentNode.insertBefore(cspan,control);
cspan = this._doc.createElement("SPAN");
cspan.id = rn;
if(control.nextSibling == null)
control.parentNode.appendChild(cspan);
else
control.parentNode.insertBefore(cspan,control.nextSibling);
} else {
if(!this.insertHTML("",r_right)) return [];
if(!this.insertHTML("",r_left )) {
var rP = this._doc.getElementById(rn);
if(rP!=null) {
temp=rP.parentNode;
temp.removeChild(rP);
}
return [];
}
}
lPoint = this._doc.getElementById(ln);
rPoint = this._doc.getElementById(rn);
if(lPoint != null && rPoint != null) {
while(lPoint.nextSibling == null) {
if(lPoint.parentNode.nextSibling)
lPoint.parentNode.parentNode.insertBefore(lPoint,lPoint.parentNode.nextSibling);
else
lPoint.parentNode.parentNode.appendChild(lPoint);
}
}
if(lPoint != null && rPoint != null) {
while(rPoint.previousSibling == null)
rPoint.parentNode.parentNode.insertBefore(rPoint,rPoint.parentNode);
if(rPoint.previousSibling.nodeType==1) {
var tagName = rPoint.previousSibling.tagName.toUpperCase();
if(tagName!="BR" && tagName!="IMG") {
var last = Sys.Extended.UI.HTMLEditor._getReallyLast(rPoint.previousSibling);
if(last.nodeType==1 && Sys.Extended.UI.HTMLEditor.canHaveChildren(last))
last.appendChild(rPoint);
else
last.parentNode.appendChild(rPoint);
}
}
if(rPoint.previousSibling && rPoint.previousSibling.nodeType==1 && rPoint.previousSibling.tagName.toUpperCase()=="BR")
rPoint.parentNode.insertBefore(rPoint,rPoint.previousSibling);
}
if(lPoint == null) {
var span = this._doc.createElement("SPAN");
span.id = ln;
rPoint.parentNode.insertBefore(span,rPoint);
lPoint = span;
}
if(rPoint == null) {
var span = this._doc.createElement("SPAN");
span.id = rn;
if(lPoint.nextSibling)
lPoint.parentNode.insertBefore(span,lPoint.nextSibling);
else
lPoint.parentNode.appendChild (span);
rPoint = span;
}
if(lPoint != null && rPoint != null) {
if(lPoint.parentNode == rPoint) {
rPoint.parentNode.insertBefore(lPoint,rPoint);
}
else if(rPoint.parentNode == lPoint) {
if(lPoint.nextSibling != null)
lPoint.parentNode.insertBefore(rPoint,lPoint.nextSibling);
else
lPoint.parentNode.appendChild(rPoint);
}
}
while(lPoint.nextSibling != null && lPoint.nextSibling.nodeType==3 && (""+lPoint.nextSibling.data+"").length==0)
lPoint.parentNode.removeChild(lPoint.nextSibling);
if(this._TcurrentFormat == null && lPoint != null && rPoint != null && lPoint.nextSibling == rPoint) {
var par = rPoint.parentNode;
this._TcurrentFormat = null;
while (par && par.tagName.toUpperCase() != "BODY" && Sys.Extended.UI.HTMLEditor.isStyleTag(par.tagName)) {
if(par.tagName.toUpperCase() != "A") {
var temp = par.cloneNode(false);
if(this._TcurrentFormat == null) {
this._TcurrentFormat = temp;
} else {
temp.appendChild(this._TcurrentFormat);
this._TcurrentFormat = temp;
}
}
par = par.parentNode;
}
if(this._TcurrentFormat) {
var sspan = this._doc.createElement("span");
sspan.appendChild(this._TcurrentFormat);
this._TcurrentFormat = sspan.innerHTML;
}
}
var telem = lPoint;
while(telem && telem.tagName && Sys.Extended.UI.HTMLEditor.isStyleTag(telem.tagName) && (telem.tagName.toUpperCase() != "A")) {
telem = telem.parentNode;
}
if(telem != null && telem.tagName.toUpperCase()=="P") {
if(telem.firstChild != null)
telem.insertBefore(lPoint,telem.firstChild);
else
telem.appendChild(lPoint);
} else
Sys.Extended.UI.HTMLEditor.positionInParagraph(lPoint,lPoint.previousSibling,true ,lPoint.parentNode);
telem = rPoint;
while(telem && telem.tagName && Sys.Extended.UI.HTMLEditor.isStyleTag(telem.tagName) && (telem.tagName.toUpperCase() != "A")) {
telem = telem.parentNode;
}
if(telem != null && telem.tagName.toUpperCase()=="P") {
telem.appendChild(rPoint);
} else
Sys.Extended.UI.HTMLEditor.positionInParagraph(rPoint,rPoint.nextSibling ,false,rPoint.parentNode);
result = this.getPseudoP_Recur(lPoint, rPoint, 0);
var lpTagName = lPoint.parentNode.tagName.toUpperCase();
if (result.length==0 && lPoint.previousSibling==null && rPoint.nextSibling==null &&
lPoint.nextSibling==rPoint && (lpTagName=="P" || llpTagName=="DIV" || lpTagName=="LI")
)
result = [[lPoint.parentNode]];
if(Sys.Extended.UI.HTMLEditor.isIE) {
sel.empty();
sel = this._getSelection();
var range1= this._createRange(sel);
var range2= this._createRange(sel);
try {
if(lPoint != null) range1.moveToElementText(lPoint);
if(rPoint != null) range2.moveToElementText(rPoint);
if(lPoint != null && rPoint != null) {
range1.setEndPoint("EndToEnd", range2);
range1.select();
} else if(lPoint != null) range1.select();
else
if(rPoint != null) range2.select();
} catch(e) {}
}
if(lPoint != null) lPoint.parentNode.removeChild(lPoint);
if(rPoint != null) rPoint.parentNode.removeChild(rPoint);
} catch(e) {
var spans = this._doc.getElementsByTagName("SPAN");
var del = [];
for(var i=0; i < spans.length; i++) {
var span = spans[i];
if(span.id && span.id.length > 0) {
var reg = new RegExp(Sys.Extended.UI.HTMLEditor.smartClassName,"ig");
if(reg.test(span.id))
del.push(span);
}
}
for(var i=0; i < del.length; i++)
del[i].parentNode.removeChild(del[i]);
}
return result;
};
Sys.Extended.UI.HTMLEditor.getPseudoP_Recur = function(lPoint,rPoint,r_level) {
var result = [];
var lBound = lPoint;
var rBound = (rPoint.nextSibling != null && rPoint.nextSibling.tagName && rPoint.nextSibling.tagName.toUpperCase()=="BR")?rPoint.nextSibling:rPoint;
var fnd = null;
if(lBound==null || rBound==null) {
if(lBound!=null) {
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(lBound,lBound);
}
if(rBound!=null) {
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(rBound,rBound);
}
} else
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(lBound,rBound);
if(fnd != null) { // common parent found
lBound = Sys.Extended.UI.HTMLEditor.getContainer(fnd.parent.childNodes.item(fnd.indexFirst),lBound);
rBound = Sys.Extended.UI.HTMLEditor.getContainer(fnd.parent.childNodes.item(fnd.indexLast ),rBound);
Sys.Extended.UI.HTMLEditor.unStyle(lBound);
Sys.Extended.UI.HTMLEditor.unStyle(rBound);
while(lBound.parentNode != fnd.parent) lBound = lBound.parentNode;
while(rBound.parentNode != fnd.parent) rBound = rBound.parentNode;
Sys.Extended.UI.HTMLEditor._moveTagsUp(lBound.nextSibling,rBound);
fnd = null;
if(lPoint==null || rPoint==null) {
if(lPoint!=null) {
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(lPoint,lPoint);
}
if(rPoint!=null) {
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(rPoint,rPoint);
}
} else
fnd = Sys.Extended.UI.HTMLEditor._commonTotalParent(lPoint,rPoint);
if(fnd != null) {
Sys.Extended.UI.HTMLEditor.spanJoiner(fnd.parent,this._doc,fnd.indexFirst,fnd.indexLast+1, true);
}
function _dive1(next) {
if(!Sys.Extended.UI.HTMLEditor.isInlineElement(next)) {
return true;
}
else if(next.tagName && Sys.Extended.UI.HTMLEditor.isStyleTag(next.tagName) && (next.tagName.toUpperCase() != "A") && !Sys.Extended.UI.HTMLEditor.isTempElement(next)) {
var nnn = next.firstChild;
while(nnn != null) {
nnnNext = nnn.nextSibling;
var temp = _dive1(nnn);
if(temp) return true;
nnn = nnnNext;
}
}
return false;
}
var arrIndex = 0;
var subArr = [];
var subIndex = 0;
if(lBound.tagName && rBound.tagName) {
var lBoundTagName = lBound.tagName.toUpperCase();
var rBoundTagName = rBound.tagName.toUpperCase();
if((lBoundTagName == "TD" || lBoundTagName == "TR") &&
(rBoundTagName == "TD" || rBoundTagName == "TR")
) {
while(lBound.tagName.toUpperCase() != "TABLE") lBound = lBound.parentNode;
rBound = lBound;
} else {
if((lBoundTagName == "DD" || lBoundTagName == "DT") &&
(rBoundTagName == "DD" || rBoundTagName == "DT")
) {
while(lBound.tagName && lBound.tagName.toUpperCase() != "DL") lBound = lBound.parentNode;
rBound = lBound;
} else {
if((lBoundTagName == "LI") && (rBoundTagName == "LI")) {
while(lBoundTagName != "UL" && lBoundTagName != "OL") {
lBound = lBound.parentNode;
lBoundTagName = (lBound.tagName)?lBound.tagName.toUpperCase():null;
}
rBound = lBound;
}
}
}
}
var fromPoint = lPoint?lPoint:rPoint;
var toPoint = rPoint?rPoint:lPoint;
var next = lBound;
while(true) {
if(!Sys.Extended.UI.HTMLEditor.isTempElement(next)) {
var isBlock = _dive1(next);
if(!isBlock) {
if(next.nodeType && next.nodeType==3) {
var str = ""+next.data+"";
if(str.length==0 || /^[\n\r]+$/.test(str)) {
var tempNext = next.nextSibling;
next.parentNode.removeChild(next);
if(next==rBound) break;
next = tempNext;
continue;
}
}
subArr[subIndex] = next;
subIndex++;
} else {
if(next.tagName && next.tagName.toUpperCase()=="BR") {
subArr[subIndex] = next;
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
else
if( (next==rBound || next==lBound) &&
!((next==rBound && next==lBound)?(Sys.Extended.UI.HTMLEditor._reallyFirst(next,fromPoint) && Sys.Extended.UI.HTMLEditor._reallyLast(next,toPoint))
:(Sys.Extended.UI.HTMLEditor._reallyFirst(next,fromPoint) || Sys.Extended.UI.HTMLEditor._reallyLast(next,toPoint))
)
) {
var nextTagName = (next.tagName)?(next.tagName.toUpperCase()):null;
if(nextTagName== "TABLE" || nextTagName== "TBODY") {
var table = next;
while(table.tagName.toUpperCase() != "TABLE") table = table.parentNode;
var fromCellIndex = 0;
var fromRowIndex = 0;
var toCellIndex = table.rows.item(table.rows.length-1).cells.length-1;
var toRowIndex = table.rows.length-1;
for(var i=0; i= 0) {
fromCellIndex = j;
fromRowIndex = i;
}
if(Sys.Extended.UI.HTMLEditor._lookChild(cell,toPoint) >= 0) {
toCellIndex = j;
toRowIndex = i;
}
}
}
for(var i=fromRowIndex; i<=toRowIndex; i++)
for(var j=((i==fromRowIndex)?fromCellIndex:0); j<=((i==toRowIndex)?toCellIndex:(table.rows.item(i).cells.length-1)); j++) {
var cell = table.rows.item(i).cells.item(j);
if(subIndex > 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
var is_lPoint = (Sys.Extended.UI.HTMLEditor._lookChild(cell,fromPoint) >=0);
var is_rPoint = (Sys.Extended.UI.HTMLEditor._lookChild(cell,toPoint ) >=0);
if(is_lPoint || is_rPoint) { // need recursion
var r_lPoint = fromPoint;
var r_rPoint = toPoint;
var rn=Sys.Extended.UI.HTMLEditor.smartClassName+"_right_"+r_level;
var ln=Sys.Extended.UI.HTMLEditor.smartClassName+"_left_" +r_level;
if(is_lPoint) {
r_rPoint = this._doc.createElement("span");
r_rPoint.id = rn;
cell.appendChild(r_rPoint);
}
if(is_rPoint) {
r_lPoint = this._doc.createElement("span");
r_lPoint.id = ln;
if(cell.firstChild)
cell.insertBefore(r_lPoint,cell.firstChild);
else
cell.appendChild (r_lPoint);
}
var r_result = this.getPseudoP_Recur(r_lPoint, r_rPoint, r_level+1);
for(var cnt=0; cnt < r_result.length; cnt++) {
result[arrIndex] = r_result[cnt];
arrIndex++;
}
if(r_lPoint != fromPoint) r_lPoint.parentNode.removeChild(r_lPoint);
if(r_rPoint != toPoint ) r_rPoint.parentNode.removeChild(r_rPoint);
} else {
var fromEl = 0;
var toEl = cell.childNodes.length;
for(var k=fromEl; k 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
}
}
}
else if(nextTagName== "UL" || nextTagName== "OL" || nextTagName== "DL") {
var list = next;
var fromIndex = 0;
var toIndex = list.childNodes.length-1;
for(var i=0; i= 0) {
fromIndex = i;
}
if(point==toPoint || Sys.Extended.UI.HTMLEditor._lookChild(point,toPoint) >= 0) {
toIndex = i;
}
}
}
for(var i=fromIndex; i<=toIndex; i++) {
var point = list.childNodes.item(i);
if(subIndex > 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
var is_lPoint = (Sys.Extended.UI.HTMLEditor._lookChild(point,fromPoint) >=0);
var is_rPoint = (Sys.Extended.UI.HTMLEditor._lookChild(point,toPoint ) >=0);
if(is_lPoint || is_rPoint) { // need recursion
var r_lPoint = fromPoint;
var r_rPoint = toPoint;
var rn=Sys.Extended.UI.HTMLEditor.smartClassName+"_right_"+r_level;
var ln=Sys.Extended.UI.HTMLEditor.smartClassName+"_left_" +r_level;
if(is_lPoint) {
r_rPoint = this._doc.createElement("span");
r_rPoint.id = rn;
point.appendChild(r_rPoint);
}
if(is_rPoint) {
r_lPoint = this._doc.createElement("span");
r_lPoint.id = ln;
if(point.firstChild)
point.insertBefore(r_lPoint,point.firstChild);
else
point.appendChild (r_lPoint);
}
var r_result = this.getPseudoP_Recur(r_lPoint, r_rPoint, r_level+1);
for(var cnt=0; cnt < r_result.length; cnt++) {
result[arrIndex] = r_result[cnt];
arrIndex++;
}
if(r_lPoint != fromPoint) r_lPoint.parentNode.removeChild(r_lPoint);
if(r_rPoint != toPoint ) r_rPoint.parentNode.removeChild(r_rPoint);
} else {
var fromEl = 0;
var toEl = point.childNodes.length;
for(var k=fromEl; k 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
}
}
} else {
var is_lPoint = (Sys.Extended.UI.HTMLEditor._lookChild(next,fromPoint) >=0);
var is_rPoint = (Sys.Extended.UI.HTMLEditor._lookChild(next,toPoint ) >=0);
if(subIndex > 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
if(is_lPoint || is_rPoint) { // need recursion
var r_lPoint = fromPoint;
var r_rPoint = toPoint;
var rn=Sys.Extended.UI.HTMLEditor.smartClassName+"_right_"+r_level;
var ln=Sys.Extended.UI.HTMLEditor.smartClassName+"_left_" +r_level;
if(is_lPoint) {
r_rPoint = this._doc.createElement("span");
r_rPoint.id = rn;
next.appendChild(r_rPoint);
}
if(is_rPoint) {
r_lPoint = this._doc.createElement("span");
r_lPoint.id = ln;
if(next.firstChild)
next.insertBefore(r_lPoint,next.firstChild);
else
next.appendChild (r_lPoint);
}
var r_result = this.getPseudoP_Recur(r_lPoint, r_rPoint, r_level+1);
for(var cnt=0; cnt < r_result.length; cnt++) {
result[arrIndex] = r_result[cnt];
arrIndex++;
}
if(r_lPoint != fromPoint) r_lPoint.parentNode.removeChild(r_lPoint);
if(r_rPoint != toPoint ) r_rPoint.parentNode.removeChild(r_rPoint);
} else {
var fromEl = 0;
var toEl = next.childNodes.length;
for(var k=fromEl; k 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
}
}
} else {
if(subIndex > 0) {
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
subArr[subIndex] = next;
result[arrIndex] = subArr;
arrIndex++;
subArr = [];
subIndex = 0;
}
}
}
if(next==rBound) break;
next = next.nextSibling;
}
if(subIndex > 0) {
result[arrIndex] = subArr;
}
}
return result;
};
Sys.Extended.UI.HTMLEditor.unWrap = function(element,pars) {
var editor = this;
if(element.firstChild) {
while(element.firstChild && element.firstChild.nodeType==3 && (""+element.firstChild.data+"")=="")
element.removeChild(element.firstChild);
var inner = [];
while(element.firstChild) {
if(element.firstChild != pars[0] && element.firstChild != pars[1]) inner.push(element.firstChild);
element.parentNode.insertBefore(element.firstChild,element);
}
if(inner.length==0) {
var br = editor._doc.createElement("BR");
element.parentNode.insertBefore(br,element);
}
if(Sys.Extended.UI.HTMLEditor.isIE && inner.length==1 && inner[0].nodeType==3) {
var str = ""+inner[0].data+"";
if(str.length== 1 && str.charCodeAt(0)==160) {
var br = editor._doc.createElement("BR");
inner[0].parentNode.insertBefore(br,inner[0]);
inner[0].parentNode.removeChild(inner[0]);
}
}
while(element.nextSibling && element.nextSibling.nodeType==3 && (""+element.nextSibling.data+"")=="")
element.parentNode.removeChild(element.nextSibling);
var previousSibling = (element.previousSibling && pars[1] == element.previousSibling)?pars[1].previousSibling:element.previousSibling;
if(previousSibling && Sys.Extended.UI.HTMLEditor.isInlineElement(previousSibling))
if(previousSibling.nodeType==1 && previousSibling.childNodes.length > 0)
previousSibling = Sys.Extended.UI.HTMLEditor._getReallyLast(previousSibling);
if(Sys.Extended.UI.HTMLEditor.isInlineElement(previousSibling) && element.nextSibling != null) {
var br = editor._doc.createElement("BR");
element.parentNode.insertBefore(br,element);
}
} else {
var br = editor._doc.createElement("BR");
element.parentNode.insertBefore(br,element);
}
element.parentNode.removeChild(element);
};
Sys.Extended.UI.HTMLEditor.tryUnWrap = function(element,pars,force) {
var editor = this;
element.style.textAlign = "";
var attrsNumber = 0;
var attrs = element.attributes;
for (var k = 0; k < attrs.length; ++k) {
var a = attrs.item(k);
if (!a.specified) continue;
if (a.name.toLowerCase()=="style") continue;
attrsNumber++;
}
var save_css = element.style.cssText;
var margin = 0;
var mar;
var elementTagName = element.tagName.toUpperCase();
if(!(typeof force != "undefined" && force))
if(elementTagName != "LI")
try {
mar = parseInt(Sys.Extended.UI.HTMLEditor.getStyle(element,"margin-top"));
if(isNaN(mar)) mar=elementTagName=="P"?1:0;
margin+=mar;
mar = parseInt(Sys.Extended.UI.HTMLEditor.getStyle(element,"margin-bottom"));
if(isNaN(mar)) mar=elementTagName=="P"?1:0;
margin+=mar;
mar = parseInt(Sys.Extended.UI.HTMLEditor.getStyle(element,"margin-right"));
if(isNaN(mar)) mar=elementTagName=="P"?1:0;
margin+=mar;
mar = parseInt(Sys.Extended.UI.HTMLEditor.getStyle(element,"margin-left"));
if(isNaN(mar)) mar=elementTagName=="P"?1:0;
margin+=mar;
} catch(e) {margin=1;}
element.style.margin = "";
if((attrsNumber == 0 && element.style.cssText.length == 0 && margin==0) || (typeof force != "undefined" && force && elementTagName != "LI")) {
editor.unWrap(element,pars);
return true;
} else {
element.style.cssText = save_css;
return false;
}
};
Sys.Extended.UI.HTMLEditor._queryCommandValue = function(cmdID, _id) {
var obj = this._rangeStartEnd();
if(obj == null) return "";
try {
if(cmdID.toLowerCase()=="backcolor") {
var el = obj.start;
while(el) {
var bckg = Sys.Extended.UI.HTMLEditor.getStyle(el,"background-color").toLowerCase();
if(bckg.length > 0 && bckg != "transparent") return bckg;
el = el.parentNode;
}
return "#FFFFFF";
}
var cssStyle = "none";
switch (cmdID.toLowerCase()) {
case "forecolor":
cssStyle = "color";
break;
case "fontname":
cssStyle = "font-family";
break;
case "fontsize":
cssStyle = "font-size";
break;
}
var ret;
if((cssStyle == "font-size" || cssStyle == "font-family") && this._FontNotSet) {
ret = "";
var par = obj.start;
while (par != null) {
if(cssStyle == "font-size") {
if(par.style && par.style.fontSize && par.style.fontSize.length > 0) {
ret = par.style.fontSize;
break;
} else if(par.tagName && par.tagName.toUpperCase()=="FONT" && par.size && par.size.length > 0) {
ret = Sys.Extended.UI.HTMLEditor.fontSizeSeek(par.size);
break;
}
} else {
if(par.style && par.style.fontFamily && par.style.fontFamily.length > 0) {
ret = par.style.fontFamily;
break;
} else if(par.tagName && par.tagName.toUpperCase()=="FONT" && par.face && par.face.length > 0) {
ret = par.face;
break;
}
}
if(par.className && par.className.length > 0) {
ret = Sys.Extended.UI.HTMLEditor.getStyle(par,cssStyle).toLowerCase();
if(cssStyle == "font-size") {
if(!Sys.Extended.UI.HTMLEditor.isIE) {
ret = Sys.Extended.UI.HTMLEditor._TryTransformFromPxToPt(ret,this,_id);
}
}
break;
}
var parTagName = par.tagName.toUpperCase();
if(parTagName == "BODY" || parTagName == "TD") break;
par = par.parentNode;
}
} else {
ret = Sys.Extended.UI.HTMLEditor.getStyle(obj.start,cssStyle).toLowerCase();
if(cssStyle == "font-size") {
if(!Sys.Extended.UI.HTMLEditor.isIE) {
ret = Sys.Extended.UI.HTMLEditor._TryTransformFromPxToPt(ret,this,_id);
var par = obj.start;
while (par != null) {
if(par.style && par.style.fontSize && par.style.fontSize.length > 0) {
ret = par.style.fontSize;
break;
}
if(par.className && par.className.length > 0) break;
var parTagName = par.tagName.toUpperCase();
if(parTagName == "BODY" || parTagName == "TD") break;
par = par.parentNode;
}
}
}
}
if(this._StyleForTyping != null && this._StyleForTyping.length > 0) {
for(var i=0; i < this._StyleForTyping.length; i++) {
var curCss = this._StyleForTyping[i];
if(curCss.name == cssStyle) {
ret = curCss.value;
break;
}
}
}
return ret;
} catch(ex) {return "";}
};